home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-01-05 | 5.3 KB | 250 lines | [TEXT/CWIE] |
- ///--------------------------------------------------------------------------------------
- // Tiling.h
- //
- // By: Vern Jensen 10/27/95
- ///--------------------------------------------------------------------------------------
-
-
- #ifndef __TILING__
- #define __TILING__
-
- #ifndef __SOUND__
- #include "Sound.h"
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
-
- ///--------------------------------------------------------------------------------------
- // Tiling definitions
- ///--------------------------------------------------------------------------------------
-
- typedef enum // Used to SWCheckSpriteWithTiles
- {
- kSWEntireSprite = 0,
- kSWTopSide,
- kSWRightSide,
- kSWBottomSide,
- kSWLeftSide
- } SWTileSearchType;
-
- #define kNumTileLayers 10
-
-
- typedef short** TileMapPtr;
-
- typedef struct TileMapStruct
- {
- short numRows;
- short numCols;
- TileMapPtr tileMap;
- Handle tileMapDataH;
- Handle arrayOfPointersH;
- Boolean isLocked;
- } TileMapStruct, *TileMapStructPtr;
-
- typedef SW_FUNC void (*TileChangeProcPtr)(
- SpriteWorldPtr spriteWorldP);
-
- typedef SW_FUNC void (*TileRectDrawProcPtr)(
- SpriteWorldPtr spriteWorldP,
- Rect* updateRectP,
- Boolean optimizingOn);
-
-
- ///--------------------------------------------------------------------------------------
- // tile function prototypes
- ///--------------------------------------------------------------------------------------
-
- SW_FUNC OSErr SWInitTiling(
- SpriteWorldPtr spriteWorldP,
- short tileHeight,
- short tileWidth,
- short maxNumTiles);
-
- SW_FUNC void SWExitTiling(
- SpriteWorldPtr spriteWorldP);
-
- SW_FUNC OSErr SWInitTilingCache(
- SpriteWorldPtr spriteWorldP);
-
- SW_FUNC OSErr SWCreateTileMap(
- TileMapStructPtr *tileMapStructPP,
- short numTileMapRows,
- short numTileMapCols);
-
- SW_FUNC void SWDisposeTileMap(
- TileMapStructPtr *tileMapStructPP);
-
- SW_FUNC void SWLockTileMap(
- TileMapStructPtr tileMapStructP);
-
- SW_FUNC void SWUnlockTileMap(
- TileMapStructPtr tileMapStructP);
-
- SW_FUNC void SWInstallTileMap(
- SpriteWorldPtr spriteWorldP,
- TileMapStructPtr tileMapStructP,
- short tileLayer);
-
- SW_FUNC OSErr SWLoadTileMap(
- TileMapStructPtr *tileMapStructPP,
- short resourceID);
-
- SW_FUNC OSErr SWSaveTileMap(
- TileMapStructPtr tileMapStructP,
- short destResID);
-
- SW_FUNC OSErr SWResizeTileMap(
- TileMapStructPtr tileMapStructP,
- short numNewTileMapRows,
- short numNewTileMapCols);
-
- SW_FUNC OSErr SWLoadTileFromCicnResource(
- SpriteWorldPtr spriteWorldP,
- short tileID,
- short cicnID,
- MaskType maskType);
-
- SW_FUNC OSErr SWLoadTilesFromPictResource(
- SpriteWorldPtr spriteWorldP,
- short startTileID,
- short endTileID,
- short pictResID,
- short maskResID,
- MaskType maskType,
- short horizBorderWidth,
- short vertBorderHeight);
-
- SW_FUNC void SWDisposeTile(
- SpriteWorldPtr spriteWorldP,
- short tileID);
-
- SW_FUNC void SWLockTiles(
- SpriteWorldPtr spriteWorldP);
-
- SW_FUNC void SWUnlockTiles(
- SpriteWorldPtr spriteWorldP);
-
- SW_FUNC OSErr SWCreateExtraBackFrame(
- SpriteWorldPtr spriteWorldP,
- Rect *frameRect);
-
- SW_FUNC void SWDisposeExtraBackFrame(
- SpriteWorldPtr spriteWorldP);
-
- SW_FUNC OSErr SWSetPortToExtraBackFrame(
- SpriteWorldPtr spriteWorldP);
-
- SW_FUNC void SWSetTilingOn(
- SpriteWorldPtr spriteWorldP,
- Boolean tilingIsOn);
-
- SW_FUNC OSErr SWChangeTileSize(
- SpriteWorldPtr spriteWorldP,
- short tileHeight,
- short tileWidth);
-
- SW_FUNC void SWSetSpriteLayerUnderTileLayer(
- SpriteLayerPtr spriteLayerP,
- short tileLayer);
-
- SW_FUNC OSErr SWSetTileMaskDrawProc(
- SpriteWorldPtr spriteWorldP,
- DrawProcPtr drawProc);
-
- SW_FUNC OSErr SWSetPartialMaskDrawProc(
- SpriteWorldPtr spriteWorldP,
- DrawProcPtr drawProc);
-
- SW_FUNC void SWSetTileChangeProc(
- SpriteWorldPtr spriteWorldP,
- TileChangeProcPtr tileChangeProc);
-
-
-
- SW_FUNC OSErr SWDrawTilesInBackground(
- SpriteWorldPtr spriteWorldP);
-
- SW_FUNC void SWDrawTile(
- SpriteWorldPtr spriteWorldP,
- short dstTileLayer,
- short tileRow,
- short tileCol,
- short tileID);
-
- SW_FUNC void SWDrawTilesInRect(
- SpriteWorldPtr spriteWorldP,
- Rect* updateRectP,
- Boolean faster);
-
- SW_FUNC void SWDrawTileLayersInRect(
- SpriteWorldPtr spriteWorldP,
- Rect* updateRectP,
- Boolean optimizingOn);
-
- SW_FUNC void SWDrawTilesAboveSprite(
- SpriteWorldPtr spriteWorldP,
- Rect* updateRectP,
- short startLayer);
-
- SW_FUNC void SWResetTilingCache(
- SpriteWorldPtr spriteWorldP);
-
- SW_FUNC static void SWAddChangedRect(
- SpriteWorldPtr spriteWorldP,
- Rect *changedRectP);
-
- SW_FUNC void SWChangeTileImage(
- SpriteWorldPtr spriteWorldP,
- short tileID,
- short currentFrame);
-
- SW_FUNC void SWUpdateTileOnScreen(
- SpriteWorldPtr spriteWorldP,
- short tileID);
-
- SW_FUNC void SWResetCurrentTileImages(
- SpriteWorldPtr spriteWorldP);
-
- SW_FUNC short SWReturnTileUnderPixel(
- SpriteWorldPtr spriteWorldP,
- short tileLayer,
- short pixelCol,
- short pixelRow);
-
- SW_FUNC Boolean SWCheckSpriteWithTiles(
- SpriteWorldPtr spriteWorldP,
- SpritePtr srcSpriteP,
- SWTileSearchType searchType,
- Rect *insetRectP,
- short startTileLayer,
- short endTileLayer,
- short firstTileID,
- short lastTileID,
- Boolean fixPosition);
-
- SW_FUNC void SWWrapRectToWorkArea(
- SpriteWorldPtr spriteWorldP,
- Rect* dstRectP);
-
- SW_FUNC void SWWrapRectFromExtraBackFrame(
- SpriteWorldPtr spriteWorldP,
- Rect *dstRectP);
-
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __TILING__ */